Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

eax.h

Go to the documentation of this file.
00001 /******************************************************************
00002 *
00003 *  EAX.H - DirectSound3D Environmental Audio Extensions version 2.0
00004 *  Updated July 8, 1999
00005 *
00006 *******************************************************************
00007 */
00008 
00009 #ifndef EAX_H_INCLUDED
00010 #define EAX_H_INCLUDED
00011 
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif // __cplusplus
00015 
00016 #ifndef OPENAL
00017     #include <dsound.h>
00018     /*
00019     * EAX Wrapper Interface (using Direct X 7) {4FF53B81-1CE0-11d3-AAB8-00A0C95949D5}
00020     */
00021     DEFINE_GUID(CLSID_EAXDirectSound, 
00022         0x4ff53b81, 
00023         0x1ce0, 
00024         0x11d3,
00025         0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5);
00026 
00027     /*
00028     * EAX Wrapper Interface (using Direct X 8) {CA503B60-B176-11d4-A094-D0C0BF3A560C}
00029     */
00030     DEFINE_GUID(CLSID_EAXDirectSound8, 
00031         0xca503b60,
00032         0xb176,
00033         0x11d4,
00034         0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);
00035 
00036 #ifdef DIRECTSOUND_VERSION
00037 #if DIRECTSOUND_VERSION == 0x0800
00038         __declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate8(GUID*, LPDIRECTSOUND8*, IUnknown FAR *);
00039         typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE8)(GUID*, LPDIRECTSOUND8*, IUnknown FAR*);
00040 #endif
00041 #endif
00042 
00043     __declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID*, LPDIRECTSOUND*, IUnknown FAR *);
00044     typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);
00045 
00046 #else
00047     #include <al.h>
00048 
00049     #ifndef GUID_DEFINED
00050         #define GUID_DEFINED
00051         typedef struct _GUID
00052         {
00053             unsigned long Data1;
00054             unsigned short Data2;
00055             unsigned short Data3;
00056             unsigned char Data4[8];
00057         } GUID;
00058     #endif // !GUID_DEFINED
00059 
00060     #ifndef DEFINE_GUID
00061         #ifndef INITGUID
00062             #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
00063                     extern const GUID FAR name
00064         #else
00065             #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
00066                     extern const GUID name = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
00067         #endif // INITGUID
00068     #endif // DEFINE_GUID
00069 
00070     /*
00071     * EAX OpenAL Extension {4FF53B81-1CE0-11d3-AAB8-00A0C95949D5}
00072     */
00073     typedef ALenum (*EAXSet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
00074     typedef ALenum (*EAXGet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);
00075 #endif
00076 
00077 #pragma pack(push, 4)
00078 
00079 /*
00080 * EAX 2.0 listener property set {0306A6A8-B224-11d2-99E5-0000E8D8C722}
00081 */
00082 DEFINE_GUID(DSPROPSETID_EAX20_ListenerProperties, 
00083     0x306a6a8, 
00084     0xb224, 
00085     0x11d2, 
00086     0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22);
00087 
00088 // For compatibility with future EAX versions:
00089 #define DSPROPSETID_EAX_ListenerProperties DSPROPSETID_EAX20_ListenerProperties
00090 #define DSPROPSETID_EAX_SourceProperties DSPROPSETID_EAX20_BufferProperties
00091 
00092 typedef enum
00093 {
00094     DSPROPERTY_EAXLISTENER_NONE,
00095     DSPROPERTY_EAXLISTENER_ALLPARAMETERS,
00096     DSPROPERTY_EAXLISTENER_ROOM,
00097     DSPROPERTY_EAXLISTENER_ROOMHF,
00098     DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR,
00099     DSPROPERTY_EAXLISTENER_DECAYTIME,
00100     DSPROPERTY_EAXLISTENER_DECAYHFRATIO,
00101     DSPROPERTY_EAXLISTENER_REFLECTIONS,
00102     DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY,
00103     DSPROPERTY_EAXLISTENER_REVERB,
00104     DSPROPERTY_EAXLISTENER_REVERBDELAY,
00105     DSPROPERTY_EAXLISTENER_ENVIRONMENT,
00106     DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE,
00107     DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION,
00108     DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF,
00109     DSPROPERTY_EAXLISTENER_FLAGS
00110 } DSPROPERTY_EAX_LISTENERPROPERTY;
00111     
00112 // OR these flags with property id
00113 #define DSPROPERTY_EAXLISTENER_IMMEDIATE 0x00000000 // changes take effect immediately
00114 #define DSPROPERTY_EAXLISTENER_DEFERRED  0x80000000 // changes take effect later
00115 #define DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXLISTENER_NONE | \
00116                                                        DSPROPERTY_EAXLISTENER_IMMEDIATE)
00117 
00118 // Use this structure for DSPROPERTY_EAXLISTENER_ALLPARAMETERS
00119 // - all levels are hundredths of decibels
00120 // - all times are in seconds
00121 // - the reference for high frequency controls is 5 kHz
00122 //
00123 // NOTE: This structure may change in future EAX versions.
00124 //       It is recommended to initialize fields by name:
00125 //              myListener.lRoom = -1000;
00126 //              myListener.lRoomHF = -100;
00127 //              ...
00128 //              myListener.dwFlags = myFlags /* see EAXLISTENERFLAGS below */ ;
00129 //       instead of:
00130 //              myListener = { -1000, -100, ... , 0x00000009 };
00131 //       If you want to save and load presets in binary form, you 
00132 //       should define your own structure to insure future compatibility.
00133 //
00134 typedef struct _EAXLISTENERPROPERTIES
00135 {
00136     long lRoom;                    // room effect level at low frequencies
00137     long lRoomHF;                  // room effect high-frequency level re. low frequency level
00138     float flRoomRolloffFactor;     // like DS3D flRolloffFactor but for room effect
00139     float flDecayTime;             // reverberation decay time at low frequencies
00140     float flDecayHFRatio;          // high-frequency to low-frequency decay time ratio
00141     long lReflections;             // early reflections level relative to room effect
00142     float flReflectionsDelay;      // initial reflection delay time
00143     long lReverb;                  // late reverberation level relative to room effect
00144     float flReverbDelay;           // late reverberation delay time relative to initial reflection
00145     unsigned long dwEnvironment;   // sets all listener properties
00146     float flEnvironmentSize;       // environment size in meters
00147     float flEnvironmentDiffusion;  // environment diffusion
00148     float flAirAbsorptionHF;       // change in level per meter at 5 kHz
00149     unsigned long dwFlags;         // modifies the behavior of properties
00150 } EAXLISTENERPROPERTIES, *LPEAXLISTENERPROPERTIES;
00151 
00152 // used by DSPROPERTY_EAXLISTENER_ENVIRONMENT
00153 enum
00154 {
00155     EAX_ENVIRONMENT_GENERIC,
00156     EAX_ENVIRONMENT_PADDEDCELL,
00157     EAX_ENVIRONMENT_ROOM,
00158     EAX_ENVIRONMENT_BATHROOM,
00159     EAX_ENVIRONMENT_LIVINGROOM,
00160     EAX_ENVIRONMENT_STONEROOM,
00161     EAX_ENVIRONMENT_AUDITORIUM,
00162     EAX_ENVIRONMENT_CONCERTHALL,
00163     EAX_ENVIRONMENT_CAVE,
00164     EAX_ENVIRONMENT_ARENA,
00165     EAX_ENVIRONMENT_HANGAR,
00166     EAX_ENVIRONMENT_CARPETEDHALLWAY,
00167     EAX_ENVIRONMENT_HALLWAY,
00168     EAX_ENVIRONMENT_STONECORRIDOR,
00169     EAX_ENVIRONMENT_ALLEY,
00170     EAX_ENVIRONMENT_FOREST,
00171     EAX_ENVIRONMENT_CITY,
00172     EAX_ENVIRONMENT_MOUNTAINS,
00173     EAX_ENVIRONMENT_QUARRY,
00174     EAX_ENVIRONMENT_PLAIN,
00175     EAX_ENVIRONMENT_PARKINGLOT,
00176     EAX_ENVIRONMENT_SEWERPIPE,
00177     EAX_ENVIRONMENT_UNDERWATER,
00178     EAX_ENVIRONMENT_DRUGGED,
00179     EAX_ENVIRONMENT_DIZZY,
00180     EAX_ENVIRONMENT_PSYCHOTIC,
00181 
00182     EAX_ENVIRONMENT_COUNT
00183 };
00184 
00185 // Used by DSPROPERTY_EAXLISTENER_FLAGS
00186 //
00187 // Note: The number and order of flags may change in future EAX versions.
00188 //       It is recommended to use the flag defines as follows:
00189 //              myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE;
00190 //       instead of:
00191 //              myFlags = 0x00000009;
00192 //
00193 // These flags determine what properties are affected by environment size.
00194 #define EAXLISTENERFLAGS_DECAYTIMESCALE        0x00000001 // reverberation decay time
00195 #define EAXLISTENERFLAGS_REFLECTIONSSCALE      0x00000002 // reflection level
00196 #define EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE 0x00000004 // initial reflection delay time
00197 #define EAXLISTENERFLAGS_REVERBSCALE           0x00000008 // reflections level
00198 #define EAXLISTENERFLAGS_REVERBDELAYSCALE      0x00000010 // late reverberation delay time
00199 
00200 // This flag limits high-frequency decay time according to air absorption.
00201 #define EAXLISTENERFLAGS_DECAYHFLIMIT          0x00000020
00202  
00203 #define EAXLISTENERFLAGS_RESERVED              0xFFFFFFC0 // reserved future use
00204 
00205 // property ranges and defaults:
00206 
00207 #define EAXLISTENER_MINROOM                       (-10000)
00208 #define EAXLISTENER_MAXROOM                       0
00209 #define EAXLISTENER_DEFAULTROOM                   (-1000)
00210 
00211 #define EAXLISTENER_MINROOMHF                     (-10000)
00212 #define EAXLISTENER_MAXROOMHF                     0
00213 #define EAXLISTENER_DEFAULTROOMHF                 (-100)
00214 
00215 #define EAXLISTENER_MINROOMROLLOFFFACTOR          0.0f
00216 #define EAXLISTENER_MAXROOMROLLOFFFACTOR          10.0f
00217 #define EAXLISTENER_DEFAULTROOMROLLOFFFACTOR      0.0f
00218 
00219 #define EAXLISTENER_MINDECAYTIME                  0.1f
00220 #define EAXLISTENER_MAXDECAYTIME                  20.0f
00221 #define EAXLISTENER_DEFAULTDECAYTIME              1.49f
00222 
00223 #define EAXLISTENER_MINDECAYHFRATIO               0.1f
00224 #define EAXLISTENER_MAXDECAYHFRATIO               2.0f
00225 #define EAXLISTENER_DEFAULTDECAYHFRATIO           0.83f
00226 
00227 #define EAXLISTENER_MINREFLECTIONS                (-10000)
00228 #define EAXLISTENER_MAXREFLECTIONS                1000
00229 #define EAXLISTENER_DEFAULTREFLECTIONS            (-2602)
00230 
00231 #define EAXLISTENER_MINREFLECTIONSDELAY           0.0f
00232 #define EAXLISTENER_MAXREFLECTIONSDELAY           0.3f
00233 #define EAXLISTENER_DEFAULTREFLECTIONSDELAY       0.007f
00234 
00235 #define EAXLISTENER_MINREVERB                     (-10000)
00236 #define EAXLISTENER_MAXREVERB                     2000
00237 #define EAXLISTENER_DEFAULTREVERB                 200
00238 
00239 #define EAXLISTENER_MINREVERBDELAY                0.0f
00240 #define EAXLISTENER_MAXREVERBDELAY                0.1f
00241 #define EAXLISTENER_DEFAULTREVERBDELAY            0.011f
00242 
00243 #define EAXLISTENER_MINENVIRONMENT                0
00244 #define EAXLISTENER_MAXENVIRONMENT                (EAX_ENVIRONMENT_COUNT-1)
00245 #define EAXLISTENER_DEFAULTENVIRONMENT            EAX_ENVIRONMENT_GENERIC
00246 
00247 #define EAXLISTENER_MINENVIRONMENTSIZE            1.0f
00248 #define EAXLISTENER_MAXENVIRONMENTSIZE            100.0f
00249 #define EAXLISTENER_DEFAULTENVIRONMENTSIZE        7.5f
00250 
00251 #define EAXLISTENER_MINENVIRONMENTDIFFUSION       0.0f
00252 #define EAXLISTENER_MAXENVIRONMENTDIFFUSION       1.0f
00253 #define EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION   1.0f
00254 
00255 #define EAXLISTENER_MINAIRABSORPTIONHF            (-100.0f)
00256 #define EAXLISTENER_MAXAIRABSORPTIONHF            0.0f
00257 #define EAXLISTENER_DEFAULTAIRABSORPTIONHF        (-5.0f)
00258 
00259 #define EAXLISTENER_DEFAULTFLAGS                  (EAXLISTENERFLAGS_DECAYTIMESCALE |        \
00260                                                    EAXLISTENERFLAGS_REFLECTIONSSCALE |      \
00261                                                    EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE | \
00262                                                    EAXLISTENERFLAGS_REVERBSCALE |           \
00263                                                    EAXLISTENERFLAGS_REVERBDELAYSCALE |      \
00264                                                    EAXLISTENERFLAGS_DECAYHFLIMIT)
00265 
00266 
00267 
00268 /*
00269 * EAX 2.0 buffer property set {0306A6A7-B224-11d2-99E5-0000E8D8C722}
00270 */
00271 DEFINE_GUID(DSPROPSETID_EAX20_BufferProperties, 
00272     0x306a6a7, 
00273     0xb224, 
00274     0x11d2, 
00275     0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22);
00276 
00277 // For compatibility with future EAX versions:
00278 #define DSPROPSETID_EAX_BufferProperties DSPROPSETID_EAX20_BufferProperties
00279 
00280 typedef enum
00281 {
00282     DSPROPERTY_EAXBUFFER_NONE,
00283     DSPROPERTY_EAXBUFFER_ALLPARAMETERS,
00284     DSPROPERTY_EAXBUFFER_DIRECT,
00285     DSPROPERTY_EAXBUFFER_DIRECTHF,
00286     DSPROPERTY_EAXBUFFER_ROOM,
00287     DSPROPERTY_EAXBUFFER_ROOMHF, 
00288     DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR,
00289     DSPROPERTY_EAXBUFFER_OBSTRUCTION,
00290     DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO,
00291     DSPROPERTY_EAXBUFFER_OCCLUSION, 
00292     DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO,
00293     DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO,
00294     DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF,
00295     DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR,
00296     DSPROPERTY_EAXBUFFER_FLAGS
00297 } DSPROPERTY_EAX_BUFFERPROPERTY;    
00298 
00299 // OR these flags with property id
00300 #define DSPROPERTY_EAXBUFFER_IMMEDIATE 0x00000000 // changes take effect immediately
00301 #define DSPROPERTY_EAXBUFFER_DEFERRED  0x80000000 // changes take effect later
00302 #define DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS (DSPROPERTY_EAXBUFFER_NONE | \
00303                                                      DSPROPERTY_EAXBUFFER_IMMEDIATE)
00304 
00305 // Use this structure for DSPROPERTY_EAXBUFFER_ALLPARAMETERS
00306 // - all levels are hundredths of decibels
00307 //
00308 // NOTE: This structure may change in future EAX versions.
00309 //       It is recommended to initialize fields by name:
00310 //              myBuffer.lDirect = 0;
00311 //              myBuffer.lDirectHF = -200;
00312 //              ...
00313 //              myBuffer.dwFlags = myFlags /* see EAXBUFFERFLAGS below */ ;
00314 //       instead of:
00315 //              myBuffer = { 0, -200, ... , 0x00000003 };
00316 //
00317 typedef struct _EAXBUFFERPROPERTIES
00318 {
00319     long lDirect;                // direct path level
00320     long lDirectHF;              // direct path level at high frequencies
00321     long lRoom;                  // room effect level
00322     long lRoomHF;                // room effect level at high frequencies
00323     float flRoomRolloffFactor;   // like DS3D flRolloffFactor but for room effect
00324     long lObstruction;           // main obstruction control (attenuation at high frequencies) 
00325     float flObstructionLFRatio;  // obstruction low-frequency level re. main control
00326     long lOcclusion;             // main occlusion control (attenuation at high frequencies)
00327     float flOcclusionLFRatio;    // occlusion low-frequency level re. main control
00328     float flOcclusionRoomRatio;  // occlusion room effect level re. main control
00329     long lOutsideVolumeHF;       // outside sound cone level at high frequencies
00330     float flAirAbsorptionFactor; // multiplies DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF
00331     unsigned long dwFlags;       // modifies the behavior of properties
00332 } EAXBUFFERPROPERTIES, *LPEAXBUFFERPROPERTIES;
00333 
00334 // Used by DSPROPERTY_EAXBUFFER_FLAGS
00335 //    TRUE:    value is computed automatically - property is an offset
00336 //    FALSE:   value is used directly
00337 //
00338 // Note: The number and order of flags may change in future EAX versions.
00339 //       To insure future compatibility, use flag defines as follows:
00340 //              myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO;
00341 //       instead of:
00342 //              myFlags = 0x00000003;
00343 //
00344 #define EAXBUFFERFLAGS_DIRECTHFAUTO 0x00000001 // affects DSPROPERTY_EAXBUFFER_DIRECTHF
00345 #define EAXBUFFERFLAGS_ROOMAUTO     0x00000002 // affects DSPROPERTY_EAXBUFFER_ROOM
00346 #define EAXBUFFERFLAGS_ROOMHFAUTO   0x00000004 // affects DSPROPERTY_EAXBUFFER_ROOMHF
00347 
00348 #define EAXBUFFERFLAGS_RESERVED     0xFFFFFFF8 // reserved future use
00349 
00350 // property ranges and defaults:
00351 
00352 #define EAXBUFFER_MINDIRECT                  (-10000)
00353 #define EAXBUFFER_MAXDIRECT                  1000
00354 #define EAXBUFFER_DEFAULTDIRECT              0
00355 
00356 #define EAXBUFFER_MINDIRECTHF                (-10000)
00357 #define EAXBUFFER_MAXDIRECTHF                0
00358 #define EAXBUFFER_DEFAULTDIRECTHF            0
00359 
00360 #define EAXBUFFER_MINROOM                    (-10000)
00361 #define EAXBUFFER_MAXROOM                    1000
00362 #define EAXBUFFER_DEFAULTROOM                0
00363 
00364 #define EAXBUFFER_MINROOMHF                  (-10000)
00365 #define EAXBUFFER_MAXROOMHF                  0
00366 #define EAXBUFFER_DEFAULTROOMHF              0
00367 
00368 #define EAXBUFFER_MINROOMROLLOFFFACTOR       0.0f
00369 #define EAXBUFFER_MAXROOMROLLOFFFACTOR       10.f
00370 #define EAXBUFFER_DEFAULTROOMROLLOFFFACTOR   0.0f
00371 
00372 #define EAXBUFFER_MINOBSTRUCTION             (-10000)
00373 #define EAXBUFFER_MAXOBSTRUCTION             0
00374 #define EAXBUFFER_DEFAULTOBSTRUCTION         0
00375 
00376 #define EAXBUFFER_MINOBSTRUCTIONLFRATIO      0.0f
00377 #define EAXBUFFER_MAXOBSTRUCTIONLFRATIO      1.0f
00378 #define EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO  0.0f
00379 
00380 #define EAXBUFFER_MINOCCLUSION               (-10000)
00381 #define EAXBUFFER_MAXOCCLUSION               0
00382 #define EAXBUFFER_DEFAULTOCCLUSION           0
00383 
00384 #define EAXBUFFER_MINOCCLUSIONLFRATIO        0.0f
00385 #define EAXBUFFER_MAXOCCLUSIONLFRATIO        1.0f
00386 #define EAXBUFFER_DEFAULTOCCLUSIONLFRATIO    0.25f
00387 
00388 #define EAXBUFFER_MINOCCLUSIONROOMRATIO      0.0f
00389 #define EAXBUFFER_MAXOCCLUSIONROOMRATIO      10.0f
00390 #define EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO  0.5f
00391 
00392 #define EAXBUFFER_MINOUTSIDEVOLUMEHF         (-10000)
00393 #define EAXBUFFER_MAXOUTSIDEVOLUMEHF         0
00394 #define EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF     0
00395 
00396 #define EAXBUFFER_MINAIRABSORPTIONFACTOR     0.0f
00397 #define EAXBUFFER_MAXAIRABSORPTIONFACTOR     10.0f
00398 #define EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR 1.0f
00399 
00400 #define EAXBUFFER_DEFAULTFLAGS               (EAXBUFFERFLAGS_DIRECTHFAUTO | \
00401                                               EAXBUFFERFLAGS_ROOMAUTO |     \
00402                                               EAXBUFFERFLAGS_ROOMHFAUTO)
00403 
00404 // Material transmission presets
00405 // 3 values in this order:
00406 //     1: occlusion (or obstruction)
00407 //     2: occlusion LF Ratio (or obstruction LF Ratio)
00408 //     3: occlusion Room Ratio
00409 
00410 // Single window material preset
00411 #define EAX_MATERIAL_SINGLEWINDOW          (-2800)
00412 #define EAX_MATERIAL_SINGLEWINDOWLF        0.71f
00413 #define EAX_MATERIAL_SINGLEWINDOWROOMRATIO 0.43f
00414 
00415 // Double window material preset
00416 #define EAX_MATERIAL_DOUBLEWINDOW          (-5000)
00417 #define EAX_MATERIAL_DOUBLEWINDOWHF        0.40f
00418 #define EAX_MATERIAL_DOUBLEWINDOWROOMRATIO 0.24f
00419 
00420 // Thin door material preset
00421 #define EAX_MATERIAL_THINDOOR              (-1800)
00422 #define EAX_MATERIAL_THINDOORLF            0.66f
00423 #define EAX_MATERIAL_THINDOORROOMRATIO     0.66f
00424 
00425 // Thick door material preset
00426 #define EAX_MATERIAL_THICKDOOR             (-4400)
00427 #define EAX_MATERIAL_THICKDOORLF           0.64f
00428 #define EAX_MATERIAL_THICKDOORROOMRTATION  0.27f
00429 
00430 // Wood wall material preset
00431 #define EAX_MATERIAL_WOODWALL              (-4000)
00432 #define EAX_MATERIAL_WOODWALLLF            0.50f
00433 #define EAX_MATERIAL_WOODWALLROOMRATIO     0.30f
00434 
00435 // Brick wall material preset
00436 #define EAX_MATERIAL_BRICKWALL             (-5000)
00437 #define EAX_MATERIAL_BRICKWALLLF           0.60f
00438 #define EAX_MATERIAL_BRICKWALLROOMRATIO    0.24f
00439 
00440 // Stone wall material preset
00441 #define EAX_MATERIAL_STONEWALL             (-6000)
00442 #define EAX_MATERIAL_STONEWALLLF           0.68f
00443 #define EAX_MATERIAL_STONEWALLROOMRATIO    0.20f
00444 
00445 // Curtain material preset
00446 #define EAX_MATERIAL_CURTAIN               (-1200)
00447 #define EAX_MATERIAL_CURTAINLF             0.15f
00448 #define EAX_MATERIAL_CURTAINROOMRATIO      1.00f
00449 
00450 
00451 #pragma pack(pop)
00452 
00453 #ifdef __cplusplus
00454 }
00455 #endif // __cplusplus
00456 
00457 #endif

Generated on Mon Sep 12 19:58:41 2005 for Destiny3D by doxygen1.3-rc3